Evaluating refactorings for spreadsheet models
نویسندگان
چکیده
Software refactoring is a well-known technique that provides transformations on software artifacts with the aim of improving their overall quality. In the past, we have proposed a catalog of refactorings for spreadsheet models expressed in the ClassSheets modeling language, which allows us to specify the business logic of a spreadsheet in an object-oriented fashion. Reasoning about spreadsheets at the model level enhances a model-driven spreadsheet environment where a ClassSheet model and its conforming instance (the spreadsheet data) automatically co-evolves after a refactoring is applied at the model level. Our motivation for such research was to improve the model and its conforming instance: the spreadsheet data. In this paper we define such refactorings using previously proposed evolution steps for models and instances. We also present an empirical study we designed and conducted in order to confirm our original intuition that these refactorings have a positive impact on end-user productivity, both in terms of effectiveness and efficiency. The results are presented not only in terms of productivity changes between refactored and non-refactored scenarios, but also in terms of overall user satisfaction, relevance, and experience. In almost all cases the refactorings indeed improved end-users productivity. Moreover, in most cases users were more engaged with the refactored version of the spreadsheets they worked with.
منابع مشابه
Refactoring Meets Spreadsheet Formulas
The number of end-users who write spreadsheet programs is at least an order of magnitude larger than the number of trained programmers who write professional software. We studied a corpus of 3691 spreadsheets and we found that their formulas are riddled with the same smells that plague professional software: hardcoded constants, duplicated expressions, unnecessary complexity, and unsanitized in...
متن کاملRefactoring Smelly Spreadsheet Models
Identifying bad design patterns in software is a successful and inspiring research trend. While these patterns do not necessarily correspond to software errors, the fact is that they raise potential problematic issues, often referred to as code smells, and that can for example compromise maintainability or evolution. The identification of code smells in spreadsheets, which can be viewed as soft...
متن کاملSpreadsheet Refactoring
Refactoring is a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour. A database refactoring is a small change to the database schema which improves its design without changing its semantics. The paper shall present example ‘spreadsheet refactorings’, derived from the above and taking into account the ...
متن کاملTowards Evaluating the Quality of a Spreadsheet: The Case of the Analytical Spreadsheet Model
We consider the challenge of creating guidelines to evaluate the quality of a spreadsheet model. We suggest four principles. First, state the domain—the spreadsheets to which the guidelines apply. Second, distinguish between the process by which a spreadsheet is constructed from the resulting spreadsheet artifact. Third, guidelines should be written in terms of the artifact, independent of the ...
متن کاملComposite Refactorings for EMF Models
Models are primary artifacts in model-based, and especially, in model-driven software development processes. Due to their central role, the quality of models must be high to lead to software products of high quality. A common technique for improving the quality of software artifacts is refactoring. Originally developed for code structure improvement, the concept of refactoring has been raised t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Systems and Software
دوره 118 شماره
صفحات -
تاریخ انتشار 2016